Nvidia Jetson上での音声字幕生成
はじめに
現在、私たちは毎日多くの会議を行っていますが、会議の内容の一部は公開を意図していません。会議内容をクラウドに送信して録音し、字幕を返すことは、会議のプライバシーに重大な脅威をもたらす可能性があります。そして最も重要なことは、インターネットが遅延した場合、会議内容を失う可能性があることです。

ここで、Jetson上での音声字幕生成をご紹介します。これは、インターネット上での情報漏洩を回避しながら、リアルタイムの音声から字幕へのサービスを提供できます。会議内容は、AIモデルを使用して字幕形式で転写され、画面に表示されることで、会議のプライバシーを保護し、会議記録者の作業負荷を軽減できます。
ハードウェアセットアップ
- reComputer (またはJetsonベースの他のデバイス)
- reSpeaker (またはその他のUSBインターフェースマイク)
- ハードウェア接続
ランタイム環境の準備
ステップ1. Riva ASRサーバーのインストール:
Riva ASRサーバーのインストールについては、このwikiを参照してください。
ターミナル(Ctrl+Alt+T)でsudo docker ps
と入力すると、以下のような表示が見えるはずです。これは最初のステップが完了したことを意味します。
ステップ2. flaskのインストール:
ターミナル(Ctrl+Alt+T
)を開き、以下のコマンドを使用してflaskをインストールします:
pip3 install flask
python3 -c 'import flask; print(flask.__version__)
以下のようなものが表示されれば、このステップは完了です。
ステップ3. pip setuptools wheelをアップグレード:
# riva client
git clone --depth=1 --recursive https://github.com/nvidia-riva/python-clients
cd python-clients
sudo pip3 install --upgrade pip setuptools wheel
pip3 install --no-cache-dir --verbose -r requirements.txt
python3 setup.py --verbose bdist_wheel
pip3 install --no-cache-dir --verbose dist/nvidia_riva_client*.whl
python3 -c 'import riva.client; print(riva.client.__version__)'
ターミナル(Ctrl+Alt+T)で pip --version
を入力すると、以下のような表示が出ます。これはpipのアップグレードが完了したことを意味します。
ターミナル(Ctrl+Alt+T)で python3 -c 'import setuptools; print(setuptools.__version__)
を入力し、以下のような表示が出れば、setuptoolsのアップグレードが完了したことを意味します。
ターミナル(Ctrl+Alt+T)で wheel version
を入力すると、以下のような表示が出ます。これはwheelのアップグレードが完了したことを意味します。
Step4. pyaudioをインストール:
# pyaudio
sudo apt-get install -y --no-install-recommends python3-pyaudio
python3 -c 'import pyaudio; print(pyaudio.__version__)'
ターミナルで以下のような表示が出れば、最後のステップが完了です。おめでとうございます!
実行してみましょう
git clone https://github.com/Seeed-Projects/Real-time-Subtitle-Recorder-on-Jetson.git
cd Real-time-Subtitle-Recorder-on-Jetson
python3 recorder.py
プロジェクト概要
このプロジェクトでは、Riva ASR Serverを使用してマイク入力からリアルタイムでデータを取得し、ウェブページに表示します。将来的には、ある言語を別の言語に翻訳する機能や、より高速な応答速度などの追加アプリケーションを実装予定です。